# !/usr/bin/env python
# -*- coding: utf-8 -*-

"""
如果在程序中将子线程设置为守护线程，则该子线程会在主线程结束时自动退出，设置方式为thread.setDaemon(True)，
要在thread.start()之前设置，默认是false的，也就是主线程结束时，子线程依然在执行
"""

import threading
import time


def test(a, b, c):
    for i in range(5):
        print("正在输出：%d" % (i))
        time.sleep(1)


if __name__ == '__main__':
    # 创建子线程对象
    thread_obj = threading.Thread(target=test, args=(10,), kwargs={"c": 20, "b": 30, })

    # 设置线程守护：子线程守护主线程
    # thread_obj.setDaemon(True)
    thread_obj.setDaemon(False)

    # 启动子线程对象
    thread_obj.start()

    time.sleep(1)

    print("主线程即将结束...")

    # 退出主线程
    exit()
